perm filename MPCLEF.OLD[NEW,LCS] blob
sn#158104 filedate 1975-05-08 generic text, type T, neo UTF8
47900 SUBROUTINE CLEFS
48000 DIMENSION JCLEF(11),MCLEF(1000),RCMIN(4),KCLEF(11),NCLEF(500)
48050 1,CM(4)
48100 COMMON /STF/RSTFAC(8),RSTJ2 /PLTR/IPLT,RHT,DIS
48200 COMMON R2,JA,CENTR,J2,RJQ(20),JQ(20) /XRN/RN(4000)
48300 DATA RCMIN/3.3,10.5,7.0,10.5/,CM/.1,1.5,1.1,1.5/
48400 EQUIVALENCE (R4,RJQ(2)),(J5,JQ(3)),(J9,JQ(7)),(KK,
48500 1 KCLEF(11)),(R6,RJQ(4)),(R5,RJQ(3)),(J8,JQ(6)),(R7,RJQ(5))
48600 1,(R9,RJQ(7)),(NJR,RJQ(8)),(K,JCLEF(11)),(R3,RJQ(1))
48650 1,(NCLEF,MCLEF(501))
48800 J5=MOD(J5,100)
48900 CALL NOZERO(R6)
49000 IF(R7.EQ.0)R7=R6
49100 C IF P7 = 0, IT WILL EQUAL P6.
49200 IF(JA.GT.10)GO TO 9
49300 NAME='CLEF0'
49400 IF(J5.LT.20)GO TO 4
49500 R6=R6*.3
49600 C SIZE FACTORS FOR SPECIAL WORDS, ETC. (PPP, MF, CRESC. ETC.)
49700 R7=R7*.3
49800 GO TO 4
49900 9 IF(NAME.EQ.NJR)GO TO 4
50000 IF(NAME.EQ.0)GO TO 77
50050 IF(NJR.EQ.0)GO TO 4
50100 77 IF(NJR.EQ.0)GO TO 8
50200 C TO PICK UP BASIC DRAW NAME FROM P10
50300 NAME=NJR
50400 GO TO 4
50500 8 TYPE 5
50600 5 FORMAT(' SET P10=1'/)
50700 C LEADS TO PROPER FILE CALL
50800 4 NM=NAME+2*(J5/10)
50900 C DRAW0 HAS ITEMS 0→9; DRAW1, 10→19; ETC. TO DRAW9, 90→99
51000 JEZ=MOD(J5,10)+1
51100 2 IF(NM.EQ.JNM)GO TO 30
51150 IF(NM.EQ.KNM)GO TO 30
51200 C SET P10≠0 TO CHANGE BASIC 'DRAW' NAME.
51300 C JUMP IF ALREADY IN CORE
51325 NPP=0
51350 IF(JA.NE.11)GO TO 1111
51375 NPP=-1
51400 IF(LOOKF(NM))GO TO 1111
51500 TYPE 1112,NM
51600 RETURN
51700 1112 FORMAT(1XA5,' -- NOT FOUND')
51800 1111 CALL GETFI2(NM,NPP)
51900 IF(KX)GO TO 33
52000 KX=-1
52100 JNM=NM
52200 CALL FASTI2(JCLEF,11)
52300 CALL FASTI2(MCLEF,K)
52400 C NEW DATA READER 6/74 -- 10/74 HOLDS 2 .DMD FILES IF THEY FIT.
52500 IF(K.LE.500)GO TO 30
52600 KX=0
52700 KNM=0
52800 GO TO 30
52900 33 CALL FASTI2(KCLEF,11)
53000 KX=0
53100 IF(KK.GT.500)GO TO 1111
53200 C JUMP BACK IF IT WON'T FIT.
53300 CALL FASTI2(NCLEF,KK)
53400 KNM=NM
53500 C CHECK THE ABOVE -- FOR P5 HEIGHT CHANGE *********************
53600 C R6 IS SIZE FACTOR
53700 30 IF(J5.GT.3)GO TO 811
53750 IF(JA.NE.3)GO TO 811
53800 C 0=TREB, 1=BASS, 2=ALTO, 3=TENOR(ALTO SHIFTED UP)
53900 C ↑↑↑↑↑↑↑↑ FIXUP SOMEDAY IN .DMD FILES
54000 IF(R5.LT.100)GO TO 812
54100 RSTJ2=.8*RSTJ2
54200 C TO SET HGT. OF MINI CLEFS
54210 R4=R4+CM(JEZ)
54255 C SHIFTS MINIS UP BECAUSE OF WRONG ORIG. POS.??
54300 812 IF(JEZ.NE.4)GO TO 811
54400 R4=R4+2
54500 JEZ=3
54600 C ABOVE IS NOW AT TOP
54700
54800 811 A=R4
54900 R4=A+2.9
55000 CALL CENTX
55100 R4=A
55200
55300 L=JCLEF(JEZ)
55400 IF(NM.EQ.KNM)L=KCLEF(JEZ)+500
55500 IF(J9.EQ.0)GO TO 31
55600 CALL ROTATE(MCLEF,L)
55700 C R9=P9=DEGREES OF ROTATION (0-360)
55800 IF(KK.GT.250)KX=0
55900 C CHECK TO SEE IF DATA WAS WIPED OUT.
56000 31 IF(J8.EQ.-2)GO TO 32
56050 IF(J8.EQ.-1)GO TO 177
56075 IF(IPLT.GE.0)GO TO 32
56100 C J8=-2 OMITS FILLER DURING PLOT
56200 177 DO 3 K=L+1,MCLEF(L)+L
56300 IF(MCLEF(K).LT.200000000)GO TO 3
56400 JEZ=MCLEF(L)-1
56500 IF(K.GT.L+1)JEZ=JEZ-K+L+1
56600 CALL FILLMS(JEZ,MCLEF(K),R3,CENTR,R6,R7)
56700 GO TO 32
56800 3 CONTINUE
56900 C FILLS ONLY WHEN PLOTING OR R8=-1
57000 32 CALL JDRAW(MCLEF(L),R3,CENTR,RSTJ2,R6,R7)
57100 C 3,POS.,STF,NT# OR CLEF,ITEM#,SIZEX,SIZEY, J8=-1 TO FILL ON CRT
57200
57300 END